{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this notebook, we write the code for kmeans. By doing this we will have a better understanding of it.\n",
    "# Data\n",
    "Here we use the digit dataset from sklearn. In order to plot it, we also reduce the demensionality from 64 to 2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn.datasets import load_digits\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.preprocessing import scale\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "digits = load_digits()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1797, 64)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "digits.data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let explore the dataset by plot the numbers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.gray() \n",
    "plt.matshow(digits.images[20]) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAJPCAYAAAB2EHCaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3X+QXXV9//HXW6JiJ7AbRukIKptAK9a2WcBaFdosLXSwSrOMWqdKzcYKTGfqJBQd+I5VFmWUzFSzkRk7OIxsWpECOuwOWsafbApUVJCNVTvqSBJEiA6YXX4WDLy/f5yT5p1INvd9c8/ee859PmZ2Zu/u+577ufd9793XPffueZu7CwAAAIXndXsBAAAAvYRwBAAAEBCOAAAAAsIRAABAQDgCAAAICEcAAABBo8ORmR1mZo+Z2Ss6WYvFRy+bhX42B71sFvpZ6KlwVN7Ie76eNbMnw+l3Zrfn7s+4+1J3v6+TtZ1gZu83s51mNm9mV5vZCxbjchdLv/TSzFaa2VfM7GEz21315XVLH/Xz3Wb2XTN7xMzuN7OPmdlhVV/uYuqjXr7TzH5UPsf+wsyuMbOlVV/uYuuXfkZmtsXMKj1IY0+Fo/JGXuruSyXdJ+ns8LNr9683syWLv8pDZ2ZvknSRpNMlLZf0Skkf6uqiOqxfeinpaUn/Lum8bi+kSn3Uz8MlvVfSiyW9TtIbJV3Y1RV1WB/18jZJp7r7gKQTJL1I0oe7u6TO66N+SpLMbI0kq/pyeiocHYyZXW5m15vZdWb2qKRzzez1Znanmc2Z2YNm9kkze35Zv8TM3MyGytOfLX9/i5k9ambfNLPl2dry9280sx+Xr0quNLM7zGysxauyRtKn3f1/3P1Xki6X1Op5G6EpvSx7+BlJP+zgzVM7Dernp9z9Dnd/2t3vl/Q5Sad27pbqfQ3q5X3u/lD40bMqQlJfaUo/y/Mvk/QBSZd05tY5sFqFo9I5Kp6wBiRdL2m3pHUqXumdKuksSRcscP53SPqgpKNUpOyPZGvN7GhJN0h6f3m52yS9ds+ZzGx5eac75gDbfbWkreH0VknHmtnAAmtpoib0Ens1sZ9/KukHLdY2SSN6aWarzGxe0iOS/krSxALraLJG9FPSFZKulPTLBWo6oo7h6HZ3v9ndn3X3J939O+7+LXff7e73Svq0pFULnP/z7n6Xu/9a0rWShtuofbOkWXefLn+3UdL/vUJx923uPujuDxxgu0slzYfTe74/YoG1NFETeom9GtVPMztP0h9K+sTBahuoEb109y3l22ovl/TPKv5Y96Pa99PM/ljSH0n6VKtX+lDU8b3Hn8UTZnaipI9LOkXSb6m4Tt9a4Pw7w/dPqAgq2dpj4jrc3c3s/oOufK/HJB0ZTh8Zft5PmtBL7NWYfprZW1S84v3z8q3vftOYXpbnvd/MvqZi78lrD1bfQLXup5k9T0Uoeq+7P2NW+UeOarnnaP9PqF8l6fuSTnD3I1V8sLnqW+5BSS/bc8KKTh2bOP8PJK0Mp1dK+rm7z3VmebXRhF5ir0b004p/mPgXSW9y9358S01qSC/3s0TS8Ye6qJqqez+PUrEH6gtmtlPSN8tt7DSzN3R6oVI9w9H+jlDxttTjZvYqLfy+aad8UdLJZna2FZ/8XyfpJYnz/6uk88zsRDM7StI/SZrs/DJrp3a9tMLhkl5Qnj7cGnZYhkNQx36eqeLxeY67313RGuuojr0818xeXn4/pGJP4NcrWGcd1a2fD6sIUsPl19nlz4cl3dXphUrNCEcXqfjvr0dVpOHrq75Ad/+FpLer+CzCwypejdwj6SlJMrMVVhxj4jk/WObuX1Txfut/Stou6Sdq4L+YtqF2vSzrn1TxofrDyu/7+j/Xgjr280MqPrT6Zdt7rJibq153DdSxl38g6U4ze1zS7Sr22C9GCKiDWvXTCzv3fKn8rFJ5+ukq1mvulR5HqS9YcZC4ByS91d1v6/Z60D562Sz0sznoZbP0ej+bsOeoK8zsLDMbMLMXqvi3xd2Svt3lZaEN9LJZ6Gdz0MtmqVM/CUftO03SvSp2750ladTdn+ruktAmetks9LM56GWz1KafvK0GAAAQsOcIAAAgIBwBAAAEVR0hu7L36m688cZU/cUXX5yqP/PMM1P1V1xxRcu1y5YtS227DVUcxKtn3ncdGRlJ1c/N5Y6pedlll7Vcu3r16tS229DoXs7MzKTqR0dHU/XDwwtNNzi0tbShqoPrVdbPDRs2pOovuSQ3B3T58uUHLwruvrv1Q07xPHtoss+bY2NjqfqpqalUfcUO2Ev2HAEAAASEIwAAgIBwBAAAEBCOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEFQ1W60y2Vlp27ZtS9Xv2rUrVX/UUUe1XHvDDTektv22t70tVd90g4ODqfotW7ak6m+99daWaxdhtlqtzM7OpupPP/30VP3AwECqfvv27an6fpCZf5Z9rrrqqqtS9RdccEGqPjNb7YwzzkhtG/uanJxM1WfmGNYJe44AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEDQE+NDMoeGz44D+elPf5qqX7FiRar+zDPPbLk2cz2l5o8PyY6cmJmZqWYhpaYeBn8xTE1NpepXrlyZqh8dHU3VX3bZZan6fnD++ee3XJsd03TKKaek6pcvX56qZyRI++bm5lL12fEh69evT9VXOdpnaGioY9tizxEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAEFPzFbbtWtXy7Unn3xyatvZWWlZ2ZlCTTcxMdFy7fj4eGrb8/PzydXkjIyMVLr9JsvOV8rOQMpuf/Xq1an6fpB5Lrz33ntT287OvMzOSsv8jVi2bFlq202XnZWWnX02NjaWqs88lgcHB1Pbzv5NWQh7jgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACGo3W+3MM8+scCV5zPzZV2ZuTnYmT9W339zcXKXbr5vM7ZGZqSdJU1NT2eWkZOdJYV/ZmZS/+tWvUvXZ2WqZ+q997WupbdfxeXl6errl2gsvvDC17TVr1mSXk7Jp06aWa6+55poKV7Iw9hwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABD0xGy1zGybu+++u8KV5GalSdJdd93Vcu1f//VfZ5eDRTQ7O9ty7fDwcIUr6Q3j4+Mt12bmJbUjO4ttcHCwopXguWTnk2Xnn11wwQUt127YsCG17SuuuCJV3wsGBgYqqZWkzZs3p+ozz5tZo6OjlW37YNhzBAAAEBCOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEBCOAAAAgp4YH7JixYqWazPjOiTpxhtvrLQ+4+KLL65s20CnjY2NtVw7MzOT2vbWrVtT9dkxAqtXr265du3atZVtu64uueSSVP0ZZ5yRqs+OafrqV7/acm0/jGkaGRlpuXZubi617ew4kMxaJGnNmjUt13ZzDBB7jgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACGo3W23Dhg2pbWfnmb3mNa9J1d99992peuyVnZuTnWk1PT2dqs/MB8vMHaur4eHhlmuz85iy9ePj46n6TO+HhoZS2+6H2WrLli1L1Z9//vkVraSQmZd21VVXVbiS5ss+L8/Pz6fq6/LcyZ4jAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACc/durwEAAKBnsOcIAAAgIBwBAAAEjQ5HZnaYmT1mZq/oZC0WH71sFvrZHPSyWehnoafCUXkj7/l61syeDKffmd2euz/j7kvd/b5O1h4qM3uPmT2z3/X9k6ovdzH1Sy8lycxOMLP/MLNHzewhM/voYlzuYuqXfprZ1ftd16fMbFfVl7uY+qiXZmYfM7MHzGzOzG41s1dVfbmLrY/6ebiZbSr7ucvMrjSzJVVdXmUbboe7L93zvZltl/Qed//agerNbIm7716MtVXgNncf6fYiqtIvvTSzF0r6qqQJSW+V5JJO6OqiKtAv/XT390h6z57TZvZZSU90b0Wd1y+9lPQ3ks6VdKqkn0n6qKTNkl7bzUV1Wh/18wOSVkp6taTnS/qSpP8n6SNVXFhP7Tk6GDO73MyuN7PrzOxRSeea2evN7M7ylcGDZvZJM3t+Wb/EzNzMhsrTny1/f0v5Kv+bZrY8W1v+/o1m9mMzmy8T7B1mNra4t0h9NaiXfydpu7tvcvcn3P1Jd//vTt1OddGgfsbrdISkc1T8Qe0bDerlchUvQreVYeBaFX9Y+0qD+nm2pE3uvsvdfynpSknv7syt9JtqFY5K50j6nKQBSddL2i1pnaQXq3iFcJakCxY4/zskfVDSUZLu08Kp8zlrzexoSTdIen95udsUXo2Y2fLyTnfMAtt+jRVvwfzIzD5gZoctUNtUTejl6yTdZ2ZfLvv5DTPruyfgUhP6Gb1N0gPufkcLtU3ThF5eJ+mVVrzt/QJJayTdssA6mqwJ/bTyK54eMrOlB6g/JHUMR7e7+83u/mz5Kv077v4td9/t7vdK+rSkVQuc//Pufpe7/1rFK4nhNmrfLGnW3afL322U9NCeM5WvVAbd/YEDbPdWSb8v6WgVT8B/K+kfD37VG6cJvXyZit33H5d0jIq32Kb3vArrM03oZ7RGfbbXKGhCL38u6b8k/UTFW6OrJV108KveSE3o5y2S1pvZi83spZLeW/78RQe78u2oYzj6WTxhZiea2ZfMbKeZPSLpwypS6YHsDN8/IWmh1Hmg2mPiOtzdJd3fwtr31P/U3beXd9TvSbpcxedV+k3teynpSUlb3P0r7v60pA2SXirpdxPbaIom9FNS8SpW0mmS/i173oZoQi8/LOkkScdKOlzSxyR9w8wOT2yjKZrSzx9I2irpdkk3SfpfhYDVSXUMR/sf0vsqSd+XdIK7HynpQ9p311sVHlSxx0BS8V8RKh6A7XJVv+Ze1IRefk/7Xo9+PuR8E/q5x7tUhN4dnVpYzTShlyslXefuD5R7SK6W9NuSTuzsMmuh9v0sP9P59+5+rLsfL2mXpLvKkNVxdQxH+ztC0rykx634N82F3jftlC9KOtnMzrbiXwnXSXpJq2cuP5R2dPn976n4FP50JSutl9r1UsWehdPM7M/Kz429T8Xu/B91fqm1U8d+7vEuSZOdXFjN1bGX35H0djM72syeZ2ZrVYSEeytYa93Urp9m9jIze2nZyzeo+Ls5Xs1SmxGOLlLx2YBHVaTh66u+QHf/haS3S/qEpIclHS/pHklPSZKZrbDiGBMH+mDZX0j6vpk9LulmFR9S21D1umugdr109x+Wa75axSuZv5Q06vX8V9lOq10/y5o/UbGH4QtVr7dG6tjLj2rv2zBzkv5B0lvc/ZGq114Ddezn70i6U9Jjkj4j6X3u/vWq1svg2Q4o9xg8IOmt7n5bt9eD9tHLZqGfzUEvm6XX+9mEPUddYWZnmdmAFQcB/KCKf438dpeXhTbQy2ahn81BL5ulTv0kHLXvNBXvXT+k4hgRo+7+VHeXhDbRy2ahn81BL5ulNv3kbTUAAICAPUcAAAAB4QgAACBYUtF2K3uvbmRkJFU/NDSUqp+cnEzV95gqDuLVM++7Zns/NzeXqp+dnU3VV6xWvZyYmEjVZ3szNTWVqt+6dWvLtQMDA6ltb9++PVU/ODhY1cH1Kuvn+vXrU/XZ/oyNjaXqM+sZHBxMbbsNtXpsjo6Opuqzj82ZmZlUfY85YC/ZcwQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAAJzr+So5ZUdCj07DmTHjh3VLKR03HHHtVybHTvQhlod1n56ejpVnz0M/qWXXpqqHx8fT9VXrFa9zI4PyRoeHk7VZ9azCOMSajc+JDuqp+rntszz/iKMs+j6YzNzey9fvjy7lkqtXLmy5dpFGOnE+BAAAIBWEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAACCJd1eQNbg4GCqPjs+ZGBgIFWfOcx+dkxB9rrWTXa8R1Z23Ajat379+kq3nx3tkhmvsAjjJmonO64lO9ZpcnIyVZ95Lsz2MzsqpRdk/5ZkrFq1KlWf7X1dHm/sOQIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAIKjdbLXsHJetW7em6ufn51P1mRlETZ+VlpWdD7Ry5cpUfXY+FPaVmYFU9bykiYmJyrY9NTWVqh8bG6tmIT0kex1POumkVH1m9p2Ue+7M/o2ooyqvY/bxkJ1hWeVcuE5izxEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAEHtZqtl575kZz7Nzs6m6i+88MJUfcb69esr23YvyM7Yyc4Tys7jyswIYn7TvrKPm6pnsWWeJ0ZGRqpbSE1VPf9qy5Ytqfpt27a1XNsPj83MrLnsTMply5al6tetW5eqzzxXZGfwdbL37DkCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEBCOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACCo3Wy1rF6am5SdE9N02Tk42XlM2flQmTl599xzT2rbw8PDqfpekOlPduahmaXqs9vvpcd9r8jMtDr99NNT27700ktT9dnnwszcw+x9pemz2LJzD7P1VT63ZeeLZnu/EPYcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAoHbjQ6anp1P1AwMDqfrx8fFUfUbmEPj9YGxsLFWfGe8h5ccCZEYaZA9TX8fxIRnZw/xnH5erVq1K1eM3ZR4P2f5k+58dH3LSSSe1XDs5OZnadpXP+XWUfa7K9j7Tn06OA8lizxEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAEHtZqvdeuutqfpNmzZVtJLCmjVrWq4dGRmpbiE1lJ2tlp3HlJ2xlOkPc/L2NTMzk6rfvHlzqn5wcDBVj9+UuQ2zz1XLli1L1Wdnt61evbrl2uysr6bL3h6zs7Op+rm5uVR95rmimzMp2XMEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBg7t7tNQAAAPQM9hwBAAAEhCMAAICg0eHIzA4zs8fM7BWdrMXio5fNQj+bg142C/0s9FQ4Km/kPV/PmtmT4fQ7s9tz92fcfam739fJ2k4ws/eb2U4zmzezq83sBYtxuYulX3ppZivN7Ctm9rCZ7a768rqlj/r5bjP7rpk9Ymb3m9nHzOywqi93MfVRL99pZj8qn2N/YWbXmNnSqi93sfVLPyMz22JmlX5guqfCUXkjL3X3pZLuk3R2+Nm1+9eb2ZLFX+WhM7M3SbpI0umSlkt6paQPdXVRHdYvvZT0tKR/l3RetxdSpT7q5+GS3ivpxZJeJ+mNki7s6oo6rI96eZukU919QNIJkl4k6cPdXVLn9VE/JUlmtkaSVX05PRWODsbMLjez683sOjN7VNK5ZvZ6M7vTzObM7EEz+6SZPb+sX2JmbmZD5enPlr+/xcweNbNvmtnybG35+zea2Y/LVyVXmtkdZjbW4lVZI+nT7v4/7v4rSZdLavW8jdCUXpY9/IykH3bw5qmdBvXzU+5+h7s/7e73S/qcpFM7d0v1vgb18j53fyj86FkVIamvNKWf5fmXSfqApEs6c+scWK3CUekcFU9YA5Kul7Rb0joVr/ROlXSWpAsWOP87JH1Q0lEqUvZHsrVmdrSkGyS9v7zcbZJeu+dMZra8vNMdc4DtvlrS1nB6q6RjzWxggbU0URN6ib2a2M8/lfSDFmubpBG9NLNVZjYv6RFJfyVpYoF1NFkj+inpCklXSvrlAjUdUcdwdLu73+zuz7r7k+7+HXf/lrvvdvd7JX1a0qoFzv95d7/L3X8t6VpJw23UvlnSrLtPl7/bKOn/XqG4+zZ3H3T3Bw6w3aWS5sPpPd8fscBamqgJvcRejeqnmZ0n6Q8lfeJgtQ3UiF66+5bybbWXS/pnFX+s+1Ht+2lmfyzpjyR9qtUrfSjq+N7jz+IJMztR0sclnSLpt1Rcp28tcP6d4fsnVASVbO0xcR3u7mZ2/0FXvtdjko4Mp48MP+8nTegl9mpMP83sLSpe8f55+dZ3v2lML8vz3m9mX1Ox9+S1B6tvoFr308yepyIUvdfdnzGr/CNHtdxztP8n1K+S9H1JJ7j7kSo+2Fz1LfegpJftOWFFp45NnP8HklaG0ysl/dzd5zqzvNpoQi+xVyP6acU/TPyLpDe5ez++pSY1pJf7WSLp+ENdVE3VvZ9HqdgD9QUz2ynpm+U2dprZGzq9UKme4Wh/R6h4W+pxM3uVFn7ftFO+KOlkMzvbik/+r5P0ksT5/1XSeWZ2opkdJemfJE12fpm1U7teWuFwSS8oTx9uDTsswyGoYz/PVPH4PMfd765ojXVUx16ea2YvL78fUrEn8OsVrLOO6tbPh1UEqeHy6+zy58OS7ur0QqVmhKOLVPz316Mq0vD1VV+gu/9C0ttVfBbhYRWvRu6R9JQkmdkKK44x8ZwfLHP3L6p4v/U/JW2X9BM18F9M21C7Xpb1T6r4UP1h5fd9/Z9rQR37+SEVH1r9su09VszNVa+7BurYyz+QdKeZPS7pdhV77BcjBNRBrfrphZ17vlR+Vqk8/XQV62XwbAdYcZC4ByS91d1v6/Z60D562Sz0sznoZbP0ej+bsOeoK8zsLDMbMLMXqvi3xd2Svt3lZaEN9LJZ6Gdz0MtmqVM/CUftO03SvSp2750ladTdn+ruktAmetks9LM56GWz1KafvK0GAAAQsOcIAAAgIBwBAAAEVR0hu7L36ubmcsdJHB8fT9VPTk6m6kdGRlqunZqaSm27DVUcxKu277sODQ2l6gcHB1uunZmZqWzbpVr1cnp6OlW/cePGVH32sdPG7V2lqg6ul+rn9u3bW66dmMiNIMs+b2b7Mzo62nLt2NhYatvDwwtNwnhOtXpsZmX/ZmbvK5n74SI8jg/YS/YcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQVDVbrTLZuTnZmU+XXnppqj4zUyg7fyh7XZsu28sdO3ZUVp+d8ddjs746bs2aNan67O2RfeysX78+Vd8PMjOtsrMDs7d39vGzadOmlmuz9602ZqvVSva2zj7WsjMsM7r5PMueIwAAgIBwBAAAEBCOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEPTE+JDMYe2zIySyYw3Gx8dT9ZnDm8/Ozqa2jX2tW7eu0u2vWrWq5doqD5lfR9nbIzueYnR0NFXP+JDfNDIy0nJt9rkqO3Ii+zw7MDDQcm32vtJ0VY92mZqaStVnnisy99l21rIQ9hwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABD0xGy1wcHByrY9NjZW2balatdeR5m5PNmZPzt27MguB4cgM/NweHg4te3s4yazFiy+Ts60ei6ZWW/9MPdwYmKi5drNmzentr1x48ZUffb2np+fb7k2+7zSSew5AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAg6InZapm5OehtmRlY2XlZxx13XKo+O4utm3N8elFmZtL4+Hhl65DyvczM+GM+4qHLzPqS8o+1zBzGque89YIqZw1OTk6m6rO9zzjppJMq2/bBsOcIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAIDA3L2K7aY2mpmDtGzZstRCsnN2Vq1alaofGxtruTY7f6qNWV+WPUMLKrmDtGN6ejpVPzo6mqofGBhouTZzn21To3uZnd+Uma0lLUp/MqropdRD/czKzgbLPBdmn/NHRkZS9eqBx2bm/p197GRvv/n5+VR9ZkZmlTPkSgfsJXuOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEBCOAAAAAsIRAABAsKTbC5CkwcHBlmuz4z02btyYqr/ppptS9Zm1tzEOBEFmvEc7Mr3EvrIjCjZt2pSqz/Y+s55s3zMjgyRpaGgoVV+VzMiJLVu2pLa9a9euVP3ExESqPjOiYhFGTnRd5j6bHdWTHb2THenVxriWrmDPEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAQU/MVsuYmppK1WdnPs3Ozqbqs3Nr0L7sbLqVK1em6rdu3dpybXb+UNPntmXnjWXnX2V7n3meyPYmOxuqjrPVsjMpq7Z69eqWa7P3Rewr+zczO/ewLv1hzxEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAIG5e7fXAAAA0DPYcwQAABAQjgAAAIJGhyMzO8zMHjOzV3SyFov9voQsAAAVfklEQVSPXjYL/WwOetks9LPQU+GovJH3fD1rZk+G0+/Mbs/dn3H3pe5+XydrD5WZvcfMntnv+v5J1Ze7mPqll5JkZieY2X+Y2aNm9pCZfXQxLncx9Us/zezq/a7rU2a2q+rLXUx91Eszs4+Z2QNmNmdmt5rZq6q+3MXWR/083Mw2lf3cZWZXmtmSqi6vsg23w92X7vnezLZLeo+7f+1A9Wa2xN13L8baKnCbu490exFV6ZdemtkLJX1V0oSkt0pySSd0dVEV6Jd+uvt7JL1nz2kz+6ykJ7q3os7rl15K+htJ50o6VdLPJH1U0mZJr+3mojqtj/r5AUkrJb1a0vMlfUnS/5P0kSourKf2HB2MmV1uZteb2XVm9qikc83s9WZ2Z/nK4EEz+6SZPb+sX2JmbmZD5enPlr+/pXyV/00zW56tLX//RjP7sZnNlwn2DjMbW9xbpL4a1Mu/k7Td3Te5+xPu/qS7/3enbqe6aFA/43U6QtI5Kv6g9o0G9XK5iheh28owcK2KP6x9pUH9PFvSJnff5e6/lHSlpHd35lb6TbUKR6VzJH1O0oCk6yXtlrRO0otVvEI4S9IFC5z/HZI+KOkoSfdp4dT5nLVmdrSkGyS9v7zcbQqvRsxseXmnO2aBbb/GirdgfmRmHzCzwxaobaom9PJ1ku4zsy+X/fyGmfXdE3CpCf2M3ibpAXe/o4XapmlCL6+T9Eor3vZ+gaQ1km5ZYB1N1oR+WvkVTw+Z2dID1B+SOoaj2939Znd/tnyV/h13/5a773b3eyV9WtKqBc7/eXe/y91/reKVxHAbtW+WNOvu0+XvNkp6aM+Zylcqg+7+wAG2e6uk35d0tIon4L+V9I8Hv+qN04RevkzF7vuPSzpGxVts03tehfWZJvQzWqM+22sUNKGXP5f0X5J+ouKt0dWSLjr4VW+kJvTzFknrzezFZvZSSe8tf/6ig135dtQxHP0snjCzE83sS2a208wekfRhFan0QHaG75+QtFDqPFDtMXEd7u6S7m9h7Xvqf+ru28s76vckXa7i8yr9pva9lPSkpC3u/hV3f1rSBkkvlfS7iW00RRP6Kal4FSvpNEn/lj1vQzShlx+WdJKkYyUdLuljkr5hZocnttEUTennDyRtlXS7pJsk/a9CwOqkOoaj/Q/pfZWk70s6wd2PlPQh7bvrrQoPqthjIKn4rwgVD8B2uapfcy9qQi+/p32vRz8fcr4J/dzjXSpC745OLaxmmtDLlZKuc/cHyj0kV0v6bUkndnaZtVD7fpaf6fx7dz/W3Y+XtEvSXWXI6rg6hqP9HSFpXtLjVvyb5kLvm3bKFyWdbGZnW/GvhOskvaTVM5cfSju6/P73VHwKf7qSldZL7XqpYs/CaWb2Z+Xnxt6nYnf+jzq/1NqpYz/3eJekyU4urObq2MvvSHq7mR1tZs8zs7UqQsK9Fay1bmrXTzN7mZm9tOzlG1T83RyvZqnNCEcXqfhswKMq0vD1VV+gu/9C0tslfULSw5KOl3SPpKckycxWWHGMiQN9sOwvJH3fzB6XdLOKD6ltqHrdNVC7Xrr7D8s1X63ilcxfShr1ev6rbKfVrp9lzZ+o2MPwharXWyN17OVHtfdtmDlJ/yDpLe7+SNVrr4E69vN3JN0p6TFJn5H0Pnf/elXrZfBsB5R7DB6Q9FZ3v63b60H76GWz0M/moJfN0uv9bMKeo64ws7PMbMCKgwB+UMW/Rn67y8tCG+hls9DP5qCXzVKnfhKO2neaiveuH1JxjIhRd3+qu0tCm+hls9DP5qCXzVKbfvK2GgAAQMCeIwAAgIBwBAAAECypaLup9+qmp1s/xM/GjRtTC5mbm0vVb926NVWfsW3btlT90NBQ9iKqOIhXz7zvOj4+nqqfmJhI1W/fvr3l2sHBwdS221CrXmYfZ9neZOtHR0dbrp2cnExtuw1VHVyvsn6OjY2l6oeHF5om8Zuyt/nIyEjLtdn7Shtq9djM3tbZ59kqe7kIDthL9hwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICgqvEhKddcc03LtVu2bElte2BgIFV/6aWXpuozh0JvYxwIgpmZmVR9dsTHIowEqZXZ2dmWa7PjJjKjWqR8b7L3Fewre3tn7ivtbD8zomL9+vWpbTf9eXlqaipVv2PHjlR9zceHHBB7jgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQNAT40OGh4dbrs0epj6zbSl/6HlGTrQv28vs6JiNGzem6rGvzBiB7OMs2/uqx5NgX6Ojo6n6iYmJVH12ZEfmebbp40Cyqn5sbt68OVU/Pj7ecm03e8meIwAAgIBwBAAAEBCOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEBCOAAAAgp6YrZaRmffUTn12Dg0znNqXneGTlZ0PhX2tXr265drjjjsute3p6elU/dTUVKo+0/vsY7gfZndlnwez/VyzZk2qfnJyMlWPvbLzQmdmZlL12cdDZj3Zx30nsecIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICgJ2arZWatVD3XaO3atZVuH3vNzc1Vuv3ly5en6leuXNly7WWXXZbadmZOWR2ddNJJ3V7CPjZv3txybXa2Wnb2VB1l5xJmHjuSNDY2lqofHBxM1WOv7G1X9f07c9/Kzt/MzgRcCHuOAAAAAsIRAABAQDgCAAAICEcAAAAB4QgAACAgHAEAAASEIwAAgIBwBAAAEBCOAAAAAsIRAABAQDgCAAAIzN2r2G4lG23H9PR0qj47U+iee+5pubaTc18OwCrYZmW9zM78mZ+fT9WvW7cuVZ8xNTWVqs/O71IP9DIz+25iYiK1kOz8puztl5ndlX3Mt/E4rqKXUoWPzZGRkVR99vGQvc17bJ5d1x+bdZb5m3zNNdektp29H2qBXrLnCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABEu6vQApN6Zgy5YtqW2vWbMmVb9y5cpU/SKMBGms7EiA7MiBrPXr17dcu2nTptS2s+MvhoaGUvVVyIx3GR8fT207M95Dyj1HSPn19IPMbZi9/2X708Y4HbQp25vZ2dmKVlLYtm1by7XZ8V+dfJ5lzxEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAEFPzFbLzHLJzkqbn59P1U9NTaXq0b7sXLrM7DMpP18rMy9t9erVqW33wqy0XpKd9zQyMlLNQvpIZlZe1f3JziZE+yYnJ1P1F154YTULKWXml2afZzP38YNhzxEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAIG5e7fXAAAA0DPYcwQAABAQjgAAAIJGhyMzO8zMHjOzV3SyFouPXjYL/WwOetks9LPQU+GovJH3fD1rZk+G0+/Mbs/dn3H3pe5+XydrO8HM3m9mO81s3syuNrMXLMblLpZ+6aWZrTSzr5jZw2a2u+rL65Y+6ue7zey7ZvaImd1vZh8zs8OqvtzF1Ee9fKeZ/ah8jv2FmV1jZkurvtzF1i/9jMxsi5lV+oHpngpH5Y281N2XSrpP0tnhZ9fuX29mSxZ/lYfOzN4k6SJJp0taLumVkj7U1UV1WL/0UtLTkv5d0nndXkiV+qifh0t6r6QXS3qdpDdKurCrK+qwPurlbZJOdfcBSSdIepGkD3d3SZ3XR/2UJJnZGklW9eX0VDg6GDO73MyuN7PrzOxRSeea2evN7E4zmzOzB83sk2b2/LJ+iZm5mQ2Vpz9b/v4WM3vUzL5pZsuzteXv32hmPy5flVxpZneY2ViLV2WNpE+7+/+4+68kXS6p1fM2QlN6WfbwM5J+2MGbp3Ya1M9Pufsd7v60u98v6XOSTu3cLdX7GtTL+9z9ofCjZ1WEpL7SlH6W518m6QOSLunMrXNgtQpHpXNUPGENSLpe0m5J61S80jtV0lmSLljg/O+Q9EFJR6lI2R/J1prZ0ZJukPT+8nK3SXrtnjOZ2fLyTnfMAbb7aklbw+mtko41s4EF1tJETegl9mpiP/9U0g9arG2SRvTSzFaZ2bykRyT9laSJBdbRZI3op6QrJF0p6ZcL1HREHcPR7e5+s7s/6+5Puvt33P1b7r7b3e+V9GlJqxY4/+fd/S53/7WkayUNt1H7Zkmz7j5d/m6jpP97heLu29x90N0fOMB2l0qaD6f3fH/EAmtpoib0Ens1qp9mdp6kP5T0iYPVNlAjeunuW8q31V4u6Z9V/LHuR7Xvp5n9saQ/kvSpVq/0oajje48/iyfM7ERJH5d0iqTfUnGdvrXA+XeG759QEVSytcfEdbi7m9n9B135Xo9JOjKcPjL8vJ80oZfYqzH9NLO3qHjF++flW9/9pjG9LM97v5l9TcXek9cerL6Bat1PM3ueilD0Xnd/xqzyjxzVcs/R/p9Qv0rS9yWd4O5Hqvhgc9W33IOSXrbnhBWdOjZx/h9IWhlOr5T0c3ef68zyaqMJvcRejeinFf8w8S+S3uTu/fiWmtSQXu5niaTjD3VRNVX3fh6lYg/UF8xsp6RvltvYaWZv6PRCpXqGo/0doeJtqcfN7FVa+H3TTvmipJPN7GwrPvm/TtJLEuf/V0nnmdmJZnaUpH+SNNn5ZdZO7XpphcMlvaA8fbg17LAMh6CO/TxTxePzHHe/u6I11lEde3mumb28/H5IxZ7Ar1ewzjqqWz8fVhGkhsuvs8ufD0u6q9MLlZoRji5S8d9fj6pIw9dXfYHu/gtJb1fxWYSHVbwauUfSU5JkZiusOMbEc36wzN2/qOL91v+UtF3ST9TAfzFtQ+16WdY/qeJD9YeV3/f1f64Fdeznh1R8aPXLtvdYMTdXve4aqGMv/0DSnWb2uKTbVeyxX4wQUAe16qcXdu75UvlZpfL001Wsl8GzHWDFQeIekPRWd7+t2+tB++hls9DP5qCXzdLr/WzCnqOuMLOzzGzAzF6o4t8Wd0v6dpeXhTbQy2ahn81BL5ulTv0kHLXvNEn3qti9d5akUXd/qrtLQpvoZbPQz+agl81Sm37ythoAAEDAniMAAICAcAQAABBUdYTsyt6rm52dTdWPjY2l6oeGhlL1IyMjLdeuX78+te02VHEQr55533X79u2p+uXLlx+8qE3btm1L1WfvV6pZL8fHx1P1l112Wap+amoqVb969epUfcWqOrheqp+7du1quXbDhg2phXz1q19N1X/3u99N1Q8ODrZce+ONN6a2fcYZZ6TqVbPHZtUyfwMlaXJysuXaNp43sw7YS/YcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQmHslI10qmxMzOjqaqp+enq5oJXnM4zo0MzMzqfrTTz+9moWoP3o5NzfXcm12vlL29sg+jit6XmtXT8xWu/vuu1uuveSSS1ILOeWUU1L1WdnZbRmZ26XU9cdmlTKzz6T8XMXMfNTMTL02MVsNAACgFYQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAYEm3FyDlxkJkxwisW7cuVZ89FPrw8HCqvukyIycyh5GX8r3JWrVqVcu1bYwDqZ3Mofuzj4PsiILs9jP3rX55DGdGfFQ5rkOS7r333lT9DTfc0HLtBRdckF1Oo2XHLq1duzZVv3HjxlT9xMREy7VVP+cvhD1HAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEPTFbrUqZOS7t2LFjR6Xbr5vMzKwLL7ywuoVgUa1fvz5Vn5nBJ0lbt25N1ffD7Ltekp2Vdvzxx6fqTz755JZrzz///NS2my772MzOI81u38xars0+jsfGxlL1C2HPEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAgbl7FdutZKNSbi6LJO3atStVPzg4mKofGRmppFaSxsfHU/WScjdOayrr5ezsbKo+Oydv8+bNqfrjjjuu5drt27entt2GWvUyKzuPKXtfmZmZSdVXrIpeSj3Uz6wVK1ak6jds2NBy7dve9rbscrK6/tjMzLBcu3ZtaiFr1qxJ1WfnJE5PT7dcW1E+iQ7YS/YcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQLOn2ArIGBgZS9dn5ZNn5XZm5MkNDQ6ltN93w8HCqvurbj/60Lzv7LDMbSsrPyUNvO/PMM1P1F198ccu1izBbrevGxsZarl22bFlq2zfddFOqfhHmTHYFe44AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBQu/EhmcOmS9LU1FQ1CyllxoeMjo5WuJLmq3q8x5YtW1quzR4yv+mjSaq+b99zzz2V1WfXnh17U0cbNmxI1e/atStVf8MNN6TqM8+z2Nfq1asrrc+OAlq7dm2qvlvYcwQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQGDuXsV2K9molJ9plZ3Flp3hMzEx0XLtyMhIatttsAq2WVkvs6ru/ezsbMu12Zl9bfS+Vr3MPA6k6mceZmQf8zMzM6n6wcHBKnopVdjPZcuWpeqzt+EZZ5yRqr/qqqtarl2xYkVq222o1WOzatnntkz9+Ph4atttOGAv2XMEAAAQEI4AAAACwhEAAEBAOAIAAAgIRwAAAAHhCAAAICAcAQAABIQjAACAgHAEAAAQEI4AAAACwhEAAEBQ1Ww1AACAWmLPEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABAQjgAAAALCEQAAQEA4AgAACAhHAAAAAeEIAAAgIBwBAAAEhCMAAICAcAQAABD8f/Gl/1xCe/EsAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x720 with 25 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "images_and_labels = list(zip(digits.images, digits.target))\n",
    "plt.figure(figsize=(10,10))\n",
    "for index, (image, label) in enumerate(images_and_labels[:25]):\n",
    "    plt.subplot(5, 5, index + 1)\n",
    "    plt.axis('off')\n",
    "    plt.imshow(image, cmap=plt.cm.binary)\n",
    "    plt.title('Training: %i' % label)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Demensionality reduction by PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = scale(digits.data)\n",
    "pca = PCA(n_components=2).fit(data)\n",
    "points = PCA(n_components=2).fit_transform(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1fd9e4135f8>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(points[:, 0], points[:, 1], 'k.', markersize=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Algorithm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Firstly, we need to initilize the centroids with random values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def init_centroids(k, n_features):\n",
    "    return np.random.random(k * n_features).reshape((k, n_features))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we use euclidean distance to calcuate the similarity between two points."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def distance(pointA, pointB):\n",
    "    return np.sqrt((pointA[0]-pointB[0])**2+(pointA[1]-pointB[1])**2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Assign each point to a centroid according to the distance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "def belongs2(point, centroids):\n",
    "    index = 0\n",
    "    min_distance = np.inf\n",
    "    for i in range(len(centroids)):\n",
    "        d = distance(point, centroids[i])\n",
    "        if d<min_distance:\n",
    "            min_distance=d\n",
    "            index=i\n",
    "    return index\n",
    "\n",
    "def update_index(points, centroids):\n",
    "    n_samples = len(points)\n",
    "    new_indeces = np.zeros((n_samples))\n",
    "    for i, point in enumerate(points):\n",
    "        new_indeces[i] = belongs2(point, centroids)\n",
    "    new_indeces = new_indeces.astype(int)\n",
    "    return new_indeces"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Update centroids by points."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def update_centroids(points, centroid_index):\n",
    "    k = max(centroid_index)+1\n",
    "    new_centroids = np.zeros((10,2))\n",
    "    for i in range(k):\n",
    "        new_centroids[i]=points[centroid_index==i].mean(axis=0)\n",
    "    return new_centroids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def my_kmeans(points):\n",
    "    centroids = init_centroids(10, 2)\n",
    "    indeces=update_index(points, centroids)\n",
    "    old_indeces = indeces\n",
    "    for i in range(1000):\n",
    "        centroids=update_centroids(points, indeces)\n",
    "        indeces=update_index(points, centroids)\n",
    "        if np.array_equal(indeces, old_indeces):\n",
    "            print('converge', i)\n",
    "            break\n",
    "        else:\n",
    "            old_indeces=indeces\n",
    "    return centroids, indeces\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Test the Algorithm\n",
    "The following code may fail and produce nan, you can simply rerun it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "converge 15\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-4.58959238, -0.8432033 ],\n",
       "       [ 1.71636211, -1.47923651],\n",
       "       [ 4.95071736, -0.68965574],\n",
       "       [ 1.21000187, -3.93779568],\n",
       "       [ 1.95884528,  1.52057292],\n",
       "       [ 3.8878771 ,  5.31429289],\n",
       "       [-1.91174901, -1.37051631],\n",
       "       [-0.01205497,  3.52017988],\n",
       "       [-0.44401107,  0.58105961],\n",
       "       [-2.71000273,  1.69218605]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "centroids, indeces=my_kmeans(points)\n",
    "centroids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "h = .02     # point in the mesh [x_min, x_max]x[y_min, y_max].\n",
    "\n",
    "# Plot the decision boundary. For that, we will assign a color to each\n",
    "x_min, x_max = points[:, 0].min() - 1, points[:, 0].max() + 1\n",
    "y_min, y_max = points[:, 1].min() - 1, points[:, 1].max() + 1\n",
    "xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "# Obtain labels for each point in mesh. Use last trained model.\n",
    "all_points = np.c_[xx.ravel(), yy.ravel()]\n",
    "Z = update_index(all_points, centroids)\n",
    "\n",
    "Z = Z.reshape(xx.shape)\n",
    "\n",
    "plt.figure(1)\n",
    "plt.clf()\n",
    "plt.imshow(Z, interpolation='nearest',\n",
    "           extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n",
    "           cmap=plt.cm.Paired,\n",
    "           aspect='auto', origin='lower')\n",
    "\n",
    "plt.plot(points[:, 0], points[:, 1], 'k.', markersize=2)\n",
    "# Plot the centroids as a white X\n",
    "\n",
    "plt.scatter(centroids[:, 0], centroids[:, 1],\n",
    "            marker='x', s=169, linewidths=3,\n",
    "            color='w', zorder=10)\n",
    "plt.title('[My] K-means clustering on the digits dataset\\n'\n",
    "          'Centroids are marked with white cross')\n",
    "plt.xlim(x_min, x_max)\n",
    "plt.ylim(y_min, y_max)\n",
    "plt.xticks(())\n",
    "plt.yticks(())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Sklearn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.cluster import KMeans\n",
    "n_digits = 10\n",
    "kmeans = KMeans(init='k-means++', n_clusters=n_digits, n_init=10)\n",
    "kmeans.fit(points)\n",
    "centroids = kmeans.cluster_centers_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "h = .02     # point in the mesh [x_min, x_max]x[y_min, y_max].\n",
    "\n",
    "# Plot the decision boundary. For that, we will assign a color to each\n",
    "x_min, x_max = points[:, 0].min() - 1, points[:, 0].max() + 1\n",
    "y_min, y_max = points[:, 1].min() - 1, points[:, 1].max() + 1\n",
    "xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "# Obtain labels for each point in mesh. Use last trained model.\n",
    "Z = kmeans.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "\n",
    "# Put the result into a color plot\n",
    "Z = Z.reshape(xx.shape)\n",
    "plt.figure(1)\n",
    "plt.clf()\n",
    "plt.imshow(Z, interpolation='nearest',\n",
    "           extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n",
    "           cmap=plt.cm.Paired,\n",
    "           aspect='auto', origin='lower')\n",
    "\n",
    "plt.plot(points[:, 0], points[:, 1], 'k.', markersize=2)\n",
    "# Plot the centroids as a white X\n",
    "\n",
    "plt.scatter(centroids[:, 0], centroids[:, 1],\n",
    "            marker='x', s=169, linewidths=3,\n",
    "            color='w', zorder=10)\n",
    "plt.title('[Sklearn]K-means clustering on the digits dataset\\n'\n",
    "          'Centroids are marked with white cross')\n",
    "plt.xlim(x_min, x_max)\n",
    "plt.ylim(y_min, y_max)\n",
    "plt.xticks(())\n",
    "plt.yticks(())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
